modification history

Modify the interrupt so that it does not interrupt on reception
change main code such that it points to a reception buffer and checks
to see if it is empty before checking for data

27/9/07
First release version

11/2/08
Bug fix during the configuration which could cause certain channels to not work

9/4/08
Set up RPM channel to expect input in RPM rather than Hz.

15/4/08
Modified OBDII version to correct start and reload of rotation values on PIDs.
Set up software to enable / disable CAN transceiver

24/4/08
Modified code to fix bug with unused channels.
Changed code to read channel 15 data to switch between OBDII and non OBDII version automatically

06/05/08
Bug fix on OBDII version in the OBDII mode

05/08/08
Added support for channel 95.4 Vehicle speed from ECU, scaling in cm/s
Support for vehicle distance, 95.5 also added

15/09/08
Fixed a minor bug in the DL1 data decoding routine which would have caused problems with reflashed units.

16/04/09
Added code to implement PID 0x0D, vehicle speed from CAN

21/04/09
changed 29 bit OBDII interface addresses to fix bug with this mode

22/09/09
Reset serial port after initial configuration to stop problem of not decoding RT messages after startup
Fixed problem with serial decoding routines which were not decoding some messages with high number, particularly pressure messages.

19/01/10
Disabled brown out reset in main build
Reflash set up to disable brown out and set it to firmware control in existing units

12/2/10
Output range limiting on all processed data
CAN OBDII mode contains multiple PID reads

26/2/10
Modification to limiting of range on unsigned input data

22/4/2013
Fix to serial decoder routines for variable length messages, SPEEDBOX test messages and attitude messages
